// 创建地图
var map = new BMap.Map("allmap");    // 创建Map实例
var point = new BMap.Point(116.331398,39.897445); // 初始化地图
map.centerAndZoom(point,12); // 设置中心点坐标和地图级别
var geoc = new BMap.Geocoder();
var longitde = $('input[name=long]').val();
var latitde = $('input[name=lat]').val();
if(longitde||latitde){
	// 将获取到的坐标标注到地图上
	var new_point = new BMap.Point(longitde,latitde);
	var k = new BMap.Marker(new_point);
	map.addOverlay(k); // 创建标注
	map.panTo(new_point); // 将标注添加到地图上
	k.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
	var p = k.getPosition(); //获取marker的位置
	geoc.getLocation(p, function(rs){
		var addComp = rs.addressComponents;
		$('input[name=street]').val(addComp.province + addComp.city + addComp.district + addComp.street + addComp.streetNumber);
	});
}else{
	// 返回用户当前位置
	var geolocation = new BMap.Geolocation(); // 创建Geolocation对象实例
	geolocation.getCurrentPosition(function(r)
	{
		if(this.getStatus() == BMAP_STATUS_SUCCESS)
		{
			var mk = new BMap.Marker(r.point);
			map.addOverlay(mk); // 创建标注
			map.panTo(r.point); // 将标注添加到地图上
			mk.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
			// mk.enableDragging(); // 标注拖动
			var p = mk.getPosition(); //获取marker的位置
			$('input[name=long]').val(p.lng);
			$('input[name=lat]').val(p.lat);
			// 弹出定位到的坐标
			// alert('您的位置：'+r.point.lng+','+r.point.lat);	==>
			// alert('您的位置：'+p.lng+','+p.lat);
			console.log(p);
			geoc.getLocation(p, function(rs){
				var addComp = rs.addressComponents;
				$('input[name=street]').val(addComp.province + addComp.city + addComp.district + addComp.street + addComp.streetNumber);
			});
		}else{
			alert('failed'+this.getStatus());
		}        
	},
	{
		enableHighAccuracy: true
	});
}

//单击获取点击的经纬度
map.addEventListener("click",function(e){
	map.clearOverlays(); // 删除覆盖物
	marker = new BMap.Marker(e.point);
	map.addOverlay(marker); // 创建标注
	map.panTo(e.point); // 将标注添加到地图上
	marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
	$('input[name=long]').val(e.point.lng);
	$('input[name=lat]').val(e.point.lat);
	// alert(e.point.lng + "," + e.point.lat);
	var pt = e.point;
	geoc.getLocation(pt, function(rs){
		var addComp = rs.addressComponents;
		$('input[name=street]').val(addComp.province + addComp.city + addComp.district + addComp.street + addComp.streetNumber);
	});
});
map.addControl(new BMap.MapTypeControl());   //添加地图类型控件
map.setCurrentCity("北京");          // 设置地图显示的城市 此项是必须设置的
map.enableScrollWheelZoom(true);     //开启鼠标滚轮缩放

// 地址失去焦点事件,地址解析
$("input[name=street]").blur(function(){
	var street = $('input[name=street').val();
	// 创建地图
	var map = new BMap.Map("allmap");    // 创建Map实例
	var point = new BMap.Point(116.331398,39.897445); // 初始化地图
	map.centerAndZoom(point,18); // 设置中心点坐标和地图级别
	var geoc = new BMap.Geocoder();
	// 将地址解析结果显示在地图上,并调整地图视野
	geoc.getPoint(street, function(point){
		if (point) {
			var new_point = new BMap.Point(point.lng,point.lat);
			var k = new BMap.Marker(new_point);
			map.addOverlay(k); // 创建标注
			map.panTo(new_point); // 将标注添加到地图上//单击获取点击的经纬度
			map.addEventListener("click",function(e){
				map.clearOverlays(); // 删除覆盖物
				marker = new BMap.Marker(e.point);
				map.addOverlay(marker); // 创建标注
				map.panTo(e.point); // 将标注添加到地图上
				marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
				$('input[name=long]').val(e.point.lng);
				$('input[name=lat]').val(e.point.lat);
				// alert(e.point.lng + "," + e.point.lat);
				var pt = e.point;
				geoc.getLocation(pt, function(rs){
					var addComp = rs.addressComponents;
					$('input[name=street]').val(addComp.province + addComp.city + addComp.district + addComp.street + addComp.streetNumber);
				});
			});
			map.addControl(new BMap.MapTypeControl());   //添加地图类型控件
			map.enableScrollWheelZoom(true);   //启用滚轮放大缩小，默认禁用
			k.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
			$('input[name=long]').val(point.lng);
			$('input[name=lat]').val(point.lat);
		}else{
			alert("您选择地址没有解析到结果!");
		}
	}, "北京市");
});